package com.example.mygreendao

import android.content.Context
import com.example.pingtools.bean.FloderBean
import com.example.pingtools.bean.IpDataBean

class GreenDaoManager {
    private lateinit var floderbeandao:FloderBeanDao
    private lateinit var ipdatabeandao: IpDataBeanDao

    constructor(ctx: Context){
        //创建一个db 数据库
        //通过DaoMaster内部类DaoMaster.DevOpenHelper创建一个SqliteOpenHelper类实例， 通过openhelper获取数据db
        val database = DaoMaster.DevOpenHelper(ctx, "pingdata.db", null).writableDatabase
        val daoMaster = DaoMaster(database)
        val daoSession = daoMaster.newSession()
        floderbeandao = daoSession.floderBeanDao
        ipdatabeandao=daoSession.ipDataBeanDao
    }
    //通过伴生对象，实现单例
    companion object{
        private var instance:GreenDaoManager?=null
        public fun getInstance(ctx:Context):GreenDaoManager{
            if(instance==null){
                instance=GreenDaoManager(ctx)
            }
            return instance!!
        }
    }

    //添加方法
    fun addfloder(floder:FloderBean){
        floderbeandao.insert(floder)
    }
    //查找方法
    fun findFloder(id:String):MutableList<FloderBean>{
        val Userlist = floderbeandao.queryRaw("where _id=?", id)
        return Userlist
    }
    //查找方法
    fun findFloderall():MutableList<FloderBean>{
        val Userlist = floderbeandao.loadAll()
        return Userlist
    }

    //添加方法
    fun addip(ip: IpDataBean){
        ipdatabeandao.insert(ip)
    }

    fun delfloder(floder:FloderBean){
        floderbeandao.delete(floder)
    }

    fun delip(ip: IpDataBean){
        ipdatabeandao.delete(ip)
    }

    fun updateip(ip: IpDataBean){
        ipdatabeandao.update(ip)
    }



}